package Model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;


/**
 * Esta classe implementa um POJO que representa um
 * Permissoes assim como uma entidade de um banco 
 * de dados.  
 * @author Arnaldo
 * @author Pablo Diego
 * @author Yuri Cariry 
 *
 */
@Entity
@Table (name = "PERMISSOES")
public class Permissoes implements Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Codigo identificador da Permissoes
	 */
	@Id @GeneratedValue
	@Column(name = "codigo", nullable = false)
	private int codigo; //PRIMARY KEY{CODIGO},
	
	
	/**
	 * usuariosCodigo
	 */
	@Column(name = "usuariosCodigo", nullable = false)
	private int usuariosCodigo; 
	
	/**
	 * usuario
	 */
	@Column(name = "usuario", nullable = false)
	private int usuario; 
	
	/**
	 * permissao
	 */
	@Column(name = "permissao", nullable = false, length =30)
	private String permissao; 
	
	//FOREIGN KEY{USUARIOS_CODIGO}
	//REFERENCES USUARIOS{CODIGO}
	//ON DELETE CASCADE
	//ON UPDATE NO ACTION

	
	
	/**
	 * Construtor sem argumentos 
	 */
	public Permissoes(){
		
	}

	
	// GETS E SETS
	
	/**
	 * Metodo que retorna o codigo
	 * @return codigo o codigo
	 */
	public int getId() {  
		return codigo;
	}	
	/** 	
	 * Metodo que altera o codigo
	 * @param codigo o codigo
	 */	
	public void setId(int codigo) {
		this.codigo = codigo;		
	}
	
	
	/**
	 * Metodo que retorna o usuariosCodigo
	 * @return usuariosCodigo o usuariosCodigo
	 */
	public int getUsuariosCodigo() {
		return usuariosCodigo;
	}
	
	/** 	
	 * Metodo que altera o usuariosCodigo
	 * @param usuariosCodigo o usuariosCodigo
	 */	
	public void setUsuariosCodigo(int usuariosCodigo) {
		this.usuariosCodigo = usuariosCodigo;
	}
	
	
	/**
	 * Metodo que retorna o usuario
	 * @return usuario o usuario
	 */	
	public int getUsuario() {
		return usuario;
	}
	
	/** 	
	 * Metodo que altera o usuario
	 * @param usuario o usuario
	 */	
	public void setUsuario(int usuario) {
		this.usuario = usuario;
	}
	
	/**
	 * Metodo que retorna a permissao
	 * @return permissao a permissao
	 */
	public String getPermissao() {
		return permissao;
	}
	
	/** 	
	 * Metodo que altera a permissao
	 * @param permissao a permissao
	 */	
	public void setPermissao(String permissao) {
		this.permissao = permissao;
	}

} // fim da classe
